1. Field of the Invention
The present invention relates to a hard disk drive (HDD), and more particularly, to a method of providing information on errors occurring in an HDD, an apparatus to process the error information, and an HDD using the same.
2. Description of the Related Art
Recently, as more advances are being made in the digital era, there has been increasing attention paid to personal video recorders (PVRs) capable of recording broadcast programs for more than 24 hours without a need of an additional tape.
A PVR, also called a digital video record (DVR), is an apparatus to store a digital video stream in real time and to reproduce the stored digital video stream, and includes a hard disk drive (HDD).
During recording data on and reproducing data from a HDD, errors may occur due to an operation temperature of the HDD, defective elements, or a periodic or non-periodic phenomenon of the HDD. When the HDD fails to record data on or reproduce data from a desired sector thereof, the HDD tries to record data on or reproduce data from the desired sector again when the desired sector comes into a predetermined position again while a disk is rotated in the HDD. At this time, the HDD performs various error retrieval operations, such as an off-track reading, an increase or a decrease of a cut-off frequency, an increase or a decrease of a bandwidth, or a variation of a gain value of a finite inverse response (FIR) filter. Such a process is called a retry. If the data corresponding to the errors are not retrieved through the retry process, the HDD notifies a host that unrecoverable errors have occurred and thus to record data on or reproduce data from the desire sector of the disk is not possible.
A conventional system communicates with the HDD installed therein by using ATAPI commands. Among the ATAPI commands, there is a command to notify a host of state of the HDD.
FIG. 1 is a flowchart of the operation of a conventional hard disk drive. Referring to FIG. 1, a command is applied to the HDD from a host in operation S102. The HDD executes the command issued from the host in operation S104. If no error occurs while executing the command, the command is completed in operation S110. If a predetermined error occurs while executing the command in operation S106, the execution of the command is stopped in operation S108. The host is notified of whether or not the performance of the command is stopped or is completed in operation S112.
Further, a content, which the host is notified of by the HDD and a type of the content are defined by an ATAPI command reference.
FIG. 2 is a block diagram of a conventional HDD performing the operation shown in FIG. 1. In FIG. 2, reference numerals 202 and 204 represent an integrated drive electronics (IDE) controller and an HDD, respectively. The IDE controller 202 and the HDD 204 are interfaced via an IDE interface and receive information from or transmit information to each other by using the ATAPI commands.
IDE takes part in transmitting information between a main board and a data storage. AT attachment (ATA) represents terms established by American National Standards Institute (ANSI) adopting the IDE as a standard. Among IDE ports, there are a primary port and a secondary port. The primary and secondary ports each include a master channel and a slave channel. In most cases, the HDD is connected to the primary port, and a CD-ROM is connected to the secondary port.
ATAPI is protocol developed so that a data storage, for example, a CD-ROM, a DVD, or a tape, other than an HDD may share an ATA interface with an HDD. ATAPI is the third ATA standard established by ANSI, after ATA and ATA-2. The reason an IDE interface of the ATAPI is called a packet interface is that a protocol thereof transmits a group of commands, i.e., a packet.
However, to notify a host of whether or not an error has occurred in the HDD in real time, figure out what caused the error, and appropriately respond to the error by using an IDE interface is not possible.
There have been various techniques to diagnose an error having occurred in an HDD, including Japanese Patent No. 1999-184726, Korean Patent Nos. 1998-011130 and 2002-5929, Japanese Patent No. 1997-101905, and Korean Patent Nos. 1998-14546, 2001-58759, and 1995-2353. These techniques provide a method of diagnosing an operation state of an HDD from a host or outside the HDD.
However, such conventional error diagnosing techniques merely check the operation state of an HDD by using a specific program, i.e., a diagnosis program, rather than notifying a host in real time of an error which has occurred during an operation of a disk so as to let the host appropriately respond to the error.
In addition, the conventional error diagnosing techniques use an ATAPI command system, as shown in FIG. 1, and thus they fail to transmit information, which cannot be accepted in the ATAPI command system, to the host.
The conventional error diagnosing techniques can retrieve errors in an HDD by adjusting parameters of the HDD. However, the conventional error diagnosing techniques cannot take any appropriate measure to eliminate an external cause of the error.
For example, a data recording failure may be caused by defects in the HDD or a data transmission system. However, the conventional error diagnosing techniques only eliminate internal causes of the error which has occurred in the HDD, which means the conventional error diagnosing techniques are unable to solve such a recording failure error caused by defects in the data transmission system.
In particular unlike in a PC, to freely separate an HDD from a PVR is difficult, and the PVR does not store a diagnosis program. Accordingly, in a case where an error occurs in the HDD due to such an inconvenient structure of the PVR, for a user to appropriately control an operation of the PVR is not possible.
In the related art, to let an HDD notify a host of information on an error having occurred in the HDD by redefining ATAPI commands is possible. However, the redefinition of the ATAPI commands brings about standards-related problems which cannot be solved using a current level of technology.